package controleur;

import modele.AbstractModel;

/**
 * Implemente le DP commandes : 
 * Commande qui ajout une livraison dans une tournee non calculee
 */
public class GenFdRCmd_Ajout extends AbstractCommande{
	// Identifiant de l'intersection ou doit etre ajoute une nouvelle livraison
	private int lidIntersection;
	// Index de la plage horaire dans laquelle la nouvelle livraison est prevue
	private int lindexPH;
	// Receveur de la commande : le modele
	private AbstractModel modele;
	
	/**
	 * Constructeur de la classe : creer une nouvelle commande
	 * @param leModele Receveur de la commande : le modele qui sera affecte
	 * @param idIntersection Identifiant de l'intersection ou doit etre ajoute une nouvelle livraison
	 * @param indexPH Index de la plage horaire dans laquelle la nouvelle livraison est prevue
	 */
	public GenFdRCmd_Ajout(AbstractModel leModele,int idIntersection, int indexPH) {
		modele=leModele;
		lidIntersection=idIntersection;
		lindexPH=indexPH;
	}

	/**
	 * Effectue la commande
	 */
	@Override
	public void Do(){
		modele.ajouterLivraisonAvantGen(lidIntersection, lindexPH);
	}

	/**
	 * Annule la commande
	 */
	@Override
	public void Undo() {
		modele.supprimerLivraisonAvantGen(lidIntersection);
	}

}
